package com.celesea.auth.dept.service;

import com.celesea.auth.dept.entity.Dept;
import com.celesea.auth.dept.vo.DeptTreeVo;
import com.celesea.auth.dept.vo.DeptVo;
import com.celesea.framework.service.BaseService;

import java.util.List;

public interface DeptService extends BaseService<Dept> {
    List<DeptTreeVo> selectDepts();

    DeptVo insert(DeptVo entity);

    DeptVo update(DeptVo entity);

    @Override
    DeptVo selectById(String id);

    List<DeptTreeVo> selectNodes(String parentId);

    List<String> selectParents(String id);

    List<String> selectChilds(String id);

    DeptVo buildById(String parentId);

    String selectRootId(String tenantId);

    void updateFixCompany(String id);
}
